package com.oceansoft.mobile.econsole.modules.sys.persistence;

import com.oceansoft.mobile.econsole.modules.base.entity.Query;
import com.oceansoft.mobile.econsole.modules.sys.entity.RoleResource;
import com.oceansoft.mobile.econsole.modules.sys.entity.SysResource;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 系统资源表映射接口
 *
 * @author: chenw
 * @time: 2014-5-12 下午 16:25
 */
@Repository
public interface IResourceMapper {

    List<SysResource> findPageByCondition(Query query);

    SysResource findResourceById(int resourceId);

    int update(SysResource resource);

    /**
     * 加载指定用户拥有的权限
     *
     * @param userId 用户ID
     * @return 资源集合
     */
    List<String> findResourceByUserId(String userId);

    List<SysResource> findResourceByRoleId(int roleId);

    List<SysResource> findAll();

    List<SysResource> findResourcesTreeByRoleId(int roleId);

    int saveRoleResources(int roleId, int resId);

    int deleteRoleResources(int roleId, int resId);

    void deleteRoleResourceRelationByRoleId(int roleId);
//    void saveRoleResourceRelationByBatch(Map<String, Object> list);

    void saveRoleResourceRelationByBatch(@Param("lists") List<RoleResource> lists);
}
